我有这个网址:
www.mywebsite.com/news/best-ever-phones
部分best-ever-phones
是可变的,可以是任何东西
index.php
文件正在使用网址best-ever-phones
问题是在./news/.htaccess
文件中我有这段代码:
RewriteEngine On
RewriteBase /news/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/?$ index.php?article=$1 [L,QSA]
应该加载index.php
文件,但是当我访问404 Not found
url时服务器返回错误www.mywebsite.com/news/best-ever-phones
。
有什么问题?
答案 0 :(得分:1)
试试这个
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?article=$1 [L]
答案 1 :(得分:0)
我认为问题可能出在Rewrite base和你的相对路径上。但这就是我如何做到的。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="cities">
</div>
这应该可以解决您的问题,将您的索引重命名为news.php
答案 2 :(得分:0)
或许可以试一试:
RewriteEngine On
RewriteBase /news/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-\/]+)\/?$ index.php?article=$1 [L,QSA]
这假设您希望/字符显示在$article
变量中,因此如果您想要/news/index.php
,则可以在逻辑上将友好URI的不同部分分开。否则,单个段友好的URI(如/news-item-1
或诸如此类的东西可能会以尾部斜杠结束。
你真的不想要斜杠,因为它可能会导致使用不同的网址(/ count)加载同一页面时出现重复的内容处罚,因此您可能无法在捕获之外匹配\/?
group或php中的group或301重定向到删除了尾部斜杠的URL。这样你也有干净的查询参数,例如/news/something-big?orly=yes
代替/news/something-big/?orly=yes
我正在使用this site来测试重写。否则未经测试,因为我们没有方便的代码,所以无法判断它在您的环境中是否有效。
答案 3 :(得分:-1)
当我们点击任何网址时,会使用此代码隐藏其扩展名。 但是如果你想转到index.php页面然后写
echo '<a href="index.php">Index Page </a>';
?>