ale*_*tri 5 apache wordpress .htaccess mod-rewrite url-rewriting
我的.htaccess重写规则有问题(我是新手,所以这很容易)
我有一个网址是:
http://www.example.com/film-al-cinema/?titolo=Ghost+in+the+Shell&id=315837
Run Code Online (Sandbox Code Playgroud)
所以我在第一个变量中有电影的标题,titolo=""在第二个变量中有电影的ID id=""。
我希望网址看起来像
http://www.example.com/film-al-cinema/Ghost+in+the+Shell/315837
Run Code Online (Sandbox Code Playgroud)
我试图用以下方式更改htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^film-al-cinema/(.*)/([0-9]+)$ film-al-cinema/?titolo=$1&id=$2 [R]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
但这会将我重定向到404页面
编辑
我正在使用Wordpress,所以/film-al-cinema/是Wordpress页面
编辑2
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^film-al-cinema/([^/]+)/(\d+)/?$ /index.php?page_id=21016&titolo=$1&id=$2 [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Run Code Online (Sandbox Code Playgroud)
试试这个,让我知道它是否适合你(更新),
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /film-al-cinema\/\?titolo=([^\s&]+)&id=([^\s&]+) [NC]
RewriteRule ^film-al-cinema\/$ /film-al-cinema/%1/%2? [R,L]
RewriteRule ^film-al-cinema/([^/]+)/([^/]+)/?$ /film-al-cinema/?titolo=$1&id=$2 [NC,L]
Run Code Online (Sandbox Code Playgroud)
您应该创建当前 .htaccess 文件的备份,然后使用此代码。如果一切正常,请在最后一行添加R=301in 的位置R
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |