如何使用 2 个参数更改 URL 格式以清除子目录中的 URLs?
How to change URL format with 2 parameters to clean URLs in a subdirectory?
摸不着头脑,找不到合适的解决办法。
我的 root/main 目录中有以下 htaccess 代码:
<IfModule mod_rewrite.c>
RewriteOptions inherit
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php
RewriteEngine On
# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ / [L,R=301]
# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /.php [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</IfModule>
然后我有一个名为 /classic-wow/ 的子目录。
其中,我有一个名为 buy-account.php?id=12345&ad=advertising-title
的文件
我寻求一种解决方案,将 url 变成:buy-account/12345/advertising-title
到目前为止,main/root 目录中的 htaccess 省略了 .php 这很好,但是,我无法将参数转换为干净的 url ?id =12345&ad=advertising-title -> /12345/advertising-title
如何做到这一点?子目录 classic /root/classic-wow/ 中是否需要额外的 .htaccess 或者可以从根目录完成?
在 classic-wow/.htaccess
中,您可以使用此规则:
Options -MultiViews
RewriteEngine On
RewriteRule ^(buy-account)/([\w-]+)/([\w-]+)/?$ .php?id=&ad= [L,QSA,NC]
摸不着头脑,找不到合适的解决办法。
我的 root/main 目录中有以下 htaccess 代码:
<IfModule mod_rewrite.c>
RewriteOptions inherit
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ .php
RewriteEngine On
# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ / [L,R=301]
# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /.php [L]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
</IfModule>
然后我有一个名为 /classic-wow/ 的子目录。
其中,我有一个名为 buy-account.php?id=12345&ad=advertising-title
的文件我寻求一种解决方案,将 url 变成:buy-account/12345/advertising-title
到目前为止,main/root 目录中的 htaccess 省略了 .php 这很好,但是,我无法将参数转换为干净的 url ?id =12345&ad=advertising-title -> /12345/advertising-title
如何做到这一点?子目录 classic /root/classic-wow/ 中是否需要额外的 .htaccess 或者可以从根目录完成?
在 classic-wow/.htaccess
中,您可以使用此规则:
Options -MultiViews
RewriteEngine On
RewriteRule ^(buy-account)/([\w-]+)/([\w-]+)/?$ .php?id=&ad= [L,QSA,NC]