php如何修改默认URL?

时间:2019-04-21 10:34:32

标签: php url

我使用此代码来解析URL

function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}

print_r(parse_url(curPageURL()));

echo parse_url($url, PHP_URL_PATH);

当URL像这样时起作用:

  

test.com/index.php/aaa

它返回“ index.php / aaa”,但是我不希望index.php位于URL中,我希望URL像这样,例如:

  

test.com/aaa

,然后返回“ aaa”,但显示404错误。我该如何解决我的问题? 我认为我必须在“ .htaccess”中进行更改,但是如果我更改“ index.php”而不是404页面,则没有404

1 个答案:

答案 0 :(得分:1)

您可能需要重写URL。如果您有apache服务器,则在.htaccess文件或vhosts定义文件中,可以尝试以下操作:

   <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name=".RegisterActivity" />
    <activity android:name=".LoginActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActivity"/>
</application>

如果您在既不是目录又不是文件的浏览器中键入内容,它会告诉Web服务器重写URL,而我们运行index.php文件。

它将test.com/aaa重写为test.com/index.php/aaa。