Php 在浏览器中显示漂亮的URL
我可以创建以下URL:Php 在浏览器中显示漂亮的URL,php,.htaccess,mod-rewrite,url-rewriting,friendly-url,Php,.htaccess,Mod Rewrite,Url Rewriting,Friendly Url,我可以创建以下URL: example.com/video1 重定向到: example.com/video/video1.php 但我希望它能显示: example.com/video1 在浏览器中,但它不是 它正在显示: example.com/video/video1.php 当我转到URL时: example.com/video/video1.php 它应该显示 example.com/video1 在浏览器中,但它正在显示: example.com/video
- example.com/video1
- example.com/video/video1.php
- example.com/video1
- example.com/video/video1.php
- example.com/video/video1.php
- example.com/video1
- example.com/video/video1.php
RewriteEngine On
RewriteRule ^video1 /videos/video1.php [QSA,NC,L]
RewriteRule ^/videos/video1.php /video1 [R=301,L]
你试过了吗
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com
RewriteRule (.*) http://www.yoursite.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ http://www.yoursite.com/ [R=301,L]
资料来源:
您忘了在正则表达式中添加结账
$
。
请试试这个:
RewriteEngine On
RewriteRule ^/video1$ /videos/video1.php [QSA,NC,L]
RewriteRule ^/videos/video1.php$ /video1 [R=301,L]
而不是
RewriteEngine On
RewriteRule ^video1 /videos/video1.php [QSA,NC,L]
RewriteRule ^/videos/video1.php /video1 [R=301,L]
您可以在/root/.htaccess
RewriteEngine on
#1--Redirect from "/videos/foo.php" to "/foo"--#
RewriteCond %{THE_REQUEST} /videos/([^.]+)\.php [NC]
RewriteRule ^ /%1 [NE,NC,L,R]
#2--Internally map "/foo" to "/videos/foo.php--#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /videos/$1.php [NC,L]
测试前请清除浏览器缓存。关于此主题,已经有几个问题。请检查:,关于你的“反向修改”,你应该检查一下:@mapek我知道有很多类似的问题,我尝试了所有的建议,但仍然不起作用。我已经在这个问题上花了这么多的时间,这个问题看起来很简单。每次我试图发布一个问题来寻求帮助时,人们都会用一个链接来回答另一个我已经看到并尝试过的问题。我很沮丧,因为我不知道我做错了什么。由于某些原因,我无法在浏览器地址中显示漂亮的URLbar@mapek我的URL不是动态URL。我看到的所有问题都是关于动态URL的。好的,我会尽力帮助你。请检查我添加的答案。