使用 mod_rewrite / RewriteRule 创建 SEO 友好的 URL
Using mod_rewrite / RewriteRule to create SEO friendly URLs
我试图让这个不友好 link:
要在使用我的网站时显示为友好 link:
这是我在主目录中的 .htaccess 文件中的代码:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule homedetails/(.*)/ID/(.*)/PHOTOID/(.*)/ featured1new.php?homedetails=&ID=&PHOTOID=
RewriteRule homedetails/(.*)/ID/(.*)/PHOTOID/(.*) featured1new.php?homedetails=&ID=&PHOTOID=
问题是 link 仍然在网站上显示旧的方式,但是,如果我直接在浏览器中键入新的 RewriteRule 方式,它工作正常。所以其中一部分也在按照我需要的方式工作。
我是否应该将网站中的 html 代码更改为 match/use RewriteRule? (在这个网站上阅读了一段时间后,我认为我不需要这样做)感谢您的帮助
The problem is the link still displays the old way in the website
您的规则仅允许 new url format
并在内部将其重写为 old format
等价物。
如果你想让old format
重定向到new format
(没有无限循环),你必须添加一些代码。
您可以用这个替换您当前的代码
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/featured1new\.php\?homedetails=([^&\s]+)&ID=([^&\s]+)&PHOTOID=([^&\s]+)\s [NC]
RewriteRule ^ /homedetails/%1/ID/%2/PHOTOID/%3? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^homedetails/([^/]+)/ID/([^/]+)/PHOTOID/([^/]+)/?$ /featured1new.php?homedetails=&ID=&PHOTOID= [L]
注意:即使此代码重定向 old format
,最好将您的链接替换为新格式
我试图让这个不友好 link:
要在使用我的网站时显示为友好 link:
这是我在主目录中的 .htaccess 文件中的代码:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule homedetails/(.*)/ID/(.*)/PHOTOID/(.*)/ featured1new.php?homedetails=&ID=&PHOTOID=
RewriteRule homedetails/(.*)/ID/(.*)/PHOTOID/(.*) featured1new.php?homedetails=&ID=&PHOTOID=
问题是 link 仍然在网站上显示旧的方式,但是,如果我直接在浏览器中键入新的 RewriteRule 方式,它工作正常。所以其中一部分也在按照我需要的方式工作。
我是否应该将网站中的 html 代码更改为 match/use RewriteRule? (在这个网站上阅读了一段时间后,我认为我不需要这样做)感谢您的帮助
The problem is the link still displays the old way in the website
您的规则仅允许 new url format
并在内部将其重写为 old format
等价物。
如果你想让old format
重定向到new format
(没有无限循环),你必须添加一些代码。
您可以用这个替换您当前的代码
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/featured1new\.php\?homedetails=([^&\s]+)&ID=([^&\s]+)&PHOTOID=([^&\s]+)\s [NC]
RewriteRule ^ /homedetails/%1/ID/%2/PHOTOID/%3? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^homedetails/([^/]+)/ID/([^/]+)/PHOTOID/([^/]+)/?$ /featured1new.php?homedetails=&ID=&PHOTOID= [L]
注意:即使此代码重定向 old format
,最好将您的链接替换为新格式